from com.Linux.AcquireLinSymInfo import AcquireLinSymInfo


class MemoryMsg(AcquireLinSymInfo):

    def __init__(self, hostname, port, name, password):
        # 调用父类的构造器
        super(MemoryMsg, self).__init__(hostname, port, name, password)
        # 定义私有成员
        self.__memory_msg_dic = super().get_allRAMemory()

    # 用于计算内存占比  返回一个元组， 第一个值为总内存空间(RAM) 第二个值为可用内存空间 第三个值为可用空间占总空间比例
    def get_computeRAMemory(self):
        RAM_ls = self.__memory_msg_dic['MemTotal'], self.__memory_msg_dic['MemAvailable'], (round(self.__memory_msg_dic['MemAvailable'] / self.__memory_msg_dic['MemTotal'], 2))
        return RAM_ls

    # 用于获取交换内存  返回一个元组，第一个值为交换空间总数 第二个值为空闲交换空间
    def get_swapMemory(self):
        swap_ls = self.__memory_msg_dic['SwapTotal'], self.__memory_msg_dic['SwapFree']
        return swap_ls

